<?php
class Customer extends AppModel {    
	public $hasMany = array('Order');
	public $belongsTo = array('City');
	
	public $validate = array(
		'name'=>array(
			'rule'=>'notEmpty',
			'required'=>true,
			'message'=>'Tên bắt buộc phải nhập',
		),
		'birthday'=>array(
			'rule'=>'date',			
			'message'=>'Ngày sinh phải là ngày hợp lệ',
		),
		'address'=>array(
			'rule'=>'notEmpty',
			'required'=>true,
			'message'=>'Địa chỉ bắt buộc phải nhập',
		),
		'tel' => array(
			'rule'=> array('maxLength',10),
			'required'=>true,
			'message'=>'Số điện thoại bắt buộc phải nhập và phải là số',
		),
		'username'=>array(
			'notEmpty' => array(
				'rule' => 'notEmpty',
				'message' => 'Không được để trống',
			),
			'alphaNumeric' => array(
                'rule'     => 'alphaNumeric',
                'message'  => 'Tên đăng nhập chỉ bao gồm số và chữ',
            ),
			'range'=>array(
				'rule'=>array('between',5,20),
				'message'=>'Tên đăng nhập từ 5 đến 20 ký tự',
			),
			'unique'=>array(
				'rule'=>'isUnique',
				'message'=>'Tên đăng nhập này đã có người sử dụng',
			),
		),
		'email'=>array(
			'notEmpty' => array(
				'rule' => 'notEmpty',
				'message' => 'Không được để trống',
			),
			'isemail'=>array(
				'rule'=>'email',				
				'message'=>'Xin nhập đúng định dạng email',
			),
			'unique'=>array(
				'rule'=>'isUnique',
				'message'=>'Email này đã có người sử dụng',
			),
		),
		'password' => array(
			'min' => array(
				'rule'=>array('minLength',6),
				'message'=>'Mật khẩu tối thiểu 6 ký tự',
			),
			'alphanumeric' => array(
				'rule' => 'alphanumeric',
				'message' => 'Mật khẩu là số + chữ',
			),
		),
	);

	public function beforeSave($options = array()) {
		App::import('Component','Sanitize');
		$s = new Sanitize();
		foreach($this->data[$this->alias] as $key=>$item){
			$this->data[$this->alias][$key] = $s->escape($item);
		}
		if (isset($this->data[$this->alias]['password'])) {
			$this->data[$this->alias]['password'] = AuthComponent::password($this->data[$this->alias]['password']);
		}
		if(!empty($this->data[$this->alias]['birthday'])) $this->data[$this->alias]['birthday'] = date('Y-m-d',strtotime($this->data[$this->alias]['birthday']));
		parent::beforeSave();
	}
}
